/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.krossk.servlets;

import br.com.krossk.dao.PrivilegioDAO;
import br.com.krossk.dao.UsuarioDAO;
import br.com.krossk.model.Privilegio;
import br.com.krossk.model.Usuario;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;

/**
 *
 * @author user1
 */
public class AlterarPerfil extends HttpServlet {
   
    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

        String email = request.getParameter("email");
        boolean valido = false;
        String caminho = "/krossk/pages/usuario/mudarperfil.jsp";
        String mensagem;
         Privilegio privilegios = null;

            int i=PrivilegioDAO.getInstance().getAll().size();


             for(int n=1;n<=i;n++)
           {
               try{
                   privilegios =(PrivilegioDAO.getInstance().getById(Integer.parseInt(request.getParameter("privilegio"))));
               }catch(Exception ex){
               }
           }

    List<Usuario> usuarios = UsuarioDAO.getInstance().getAll() ;
    i=UsuarioDAO.getInstance().getAll().size();
    /*
    for(int n=1;n<i;n++)
                {
                try {
               usuarios.add(UsuarioDAO.getInstance().getByEmail(email));
                }catch (Exception ex){}
    }*/
    for(Usuario u:UsuarioDAO.getInstance().getAll())
    {
    if(u.getEmail().equals(email))
    {
   u.setPrivilegio(privilegios);
   valido = true;
    }
  UsuarioDAO.getInstance().update(u);

    }


if(email==null) valido = false;
       if (valido ==true)
       {
                    PrintWriter out = response.getWriter();
                    try {

                        out.println("<html>");
                        out.println("<head>");
                        out.println("<title> Perfil alterado!! </title>");
                        out.println("</head>");
                        out.println("<body>");
                        out.println("Perfil  " + email+ " alterado");
                        out.println("</body>");
                        out.println("</html>");

                    } finally {
                        out.close();
                    }
       }
       else {
            caminho = "/pages/usuario/mudarperfil.jsp";
            mensagem = "email inválido!!";
        doDispatcher(request, mensagem, response);
            }

    }

    protected void doDispatcher(HttpServletRequest request, String msg, HttpServletResponse response) throws IOException, ServletException {
RequestDispatcher rd = request.getRequestDispatcher("/krossk/pages/usuario/mudarperfil.jsp");
request.setAttribute("mensagem", msg);
rd.forward(request, response);
}

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
